package com.ufaud.ais.pub.dao.hibernate;

import java.util.List;
import java.util.Map;

import com.ufaud.ais.pub.dao.IGenericQryDao;
import com.ufaud.ais.pub.dao.hibernate.querycreator.CriteriaCreator;
import com.ufaud.ais.pub.dao.hibernate.querycreator.HQLQueryCreator;
import com.ufaud.ais.pub.view.PageBean;

public interface IGenericHibernateQryDao<T> extends IGenericQryDao<T, Map<String, Object>> {

	List<T> findByCriteria(CriteriaCreator criteriaCreator);

	PageBean<T> findPageByCriteria(CriteriaCreator criteriaCreator, int pageIndex, int pageSize);

	List<T> findByHQLQuery(HQLQueryCreator hQLQueryCreator);

	PageBean<T> findPageByHQLQuery(HQLQueryCreator hQLQueryCreator, int pageIndex, int pageSize);

}